參考CURL及preg_match_all函數所寫的抓匯率,再請各位先進指教!!
<?php
// 設定URL網址
$url = 'https://rate.bot.com.tw/xrt?Lang=zh-TW';
// 建立CURL連線
$ch = curl_init();
// 設定擷取的URL網址
curl_setopt($ch, CURLOPT_URL, $url);
//強制轉為UTF-8
curl_setopt($ch,CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded; charset=utf-8"));
//將curl_exec()獲取的訊息以文件流的形式返回,而不是直接輸出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
//設定要傳的 變數A=值A & 變數B=值B (中間要用&符號串接)
$PostData = "a=abc&b=def";
//設定CURLOPT_POST 為 1或true,表示要用POST方式傳遞
curl_setopt($ch, CURLOPT_POST, 1);
//CURLOPT_POSTFIELDS 後面則是要傳接的POST資料。
curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
$options = array(
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
);
curl_setopt_array($ch, $options);
// 執行
$temp=curl_exec($ch);
//去除換行及空白字元
$temp=str_replace(array("\r","\n","\t","\s"), '', $temp);
//取得匯率時間
preg_match_all ('/<span class="time">(.*)<\/span>/U', $temp, $pat_array1);
print_r($pat_array1[0]);
echo '<BR>';
//取得幣別
preg_match_all('/<div\s+class="visible-phone print_hide">(.*)<\/div>/U', $temp, $pat_array2);
print_r($pat_array2[0]);
echo '<BR>';
//取得現金買入匯率
preg_match_all ('/<td data-table="本行現金買入" class="text-right display_none_print_show print_width">(.*)<\/td>/U', $temp, $pat_array3);
print_r($pat_array3[0]);
//echo $temp;
// 關閉CURL連線
curl_close($ch);
?>